
#ifndef __GUI_CONTROL_HPP__
#define __GUI_CONTROL_HPP__

#include <RevEng/RevEng.hpp>
#include <string>

#include "Base.hpp"
#include "ControlImpl.hpp"

namespace Gui
{
	class Control
	{
		/*Propiedades*/
	public:
		RevEng::Property<std::string>       Text;
		RevEng::Property< Vector2<int> >    Position;
		RevEng::Property< Size2<int> >	    Size;
		RevEng::Property<bool>			    Visible;

		/*Eventos*/
	public:
		RevEng::ObjRef<RevEng::Event> Click;
		RevEng::ObjRef<RevEng::Event> Resize;
    
    public:
        virtual ControlImpl* __GetImpl() const = 0;
	};
}

#endif	//__GUI_CONTROL_HPP__
